pub fn add(left: u64, right: u64) -> u64 {
    left + right
}

pub fn panic() {
    panic!("This is the panic message");
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn it_works() {
        let result = add(2, 2);
        assert_eq!(result, 4);
    }

    #[test]
    #[should_panic(expected = "This is the panic message")]
    fn panic_test() {
        panic();
    }

    #[test]
    fn it_works2() -> Result<(), String> {
        let result = add(2, 2);
        if result == 4 {
            Ok(())
        } else {
            Err(String::from("2 + 2 != 4"))
        }
    }
}
